package com.microweb.toastmaster;


/**
 * Constant values used throughout the application.
 *
 * <p>
 * <a href="Constants.java.html"><i>View Source</i></a>
 * </p>
 *
 * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
 */
public class Constants {
    //~ Static fields/initializers =============================================
   
    /** The name of the ResourceBundle used in this application */
    public static final String BUNDLE_KEY = "ApplicationResources";

    /** The encryption algorithm key to be used for passwords */
    public static final String ENC_ALGORITHM = "algorithm";

    /** A flag to indicate if passwords should be encrypted */
    public static final String ENCRYPT_PASSWORD = "encryptPassword";

    /** File separator from System properties */
    public static final String FILE_SEP = System.getProperty("file.separator");

    /** User home from System properties */
    public static final String USER_HOME = System.getProperty("user.home") + FILE_SEP;

    /** The name of the configuration hashmap stored in application scope. */
    public static final String CONFIG = "appConfig";

    /** 
     * Session scope attribute that holds the locale set by the user. By setting this key
     * to the same one that Struts uses, we get synchronization in Struts w/o having
     * to do extra work or have two session-level variables.
     */ 
    public static final String PREFERRED_LOCALE_KEY = "org.apache.struts.action.LOCALE";
    
    /**
     * The request scope attribute under which an editable user form is stored
     */
    public static final String USER_KEY = "userForm";

    /**
     * The request scope attribute that holds the user list
     */
    public static final String USER_LIST = "userList";

    /**
     * The request scope attribute for indicating a newly-registered user
     */
    public static final String REGISTERED = "registered";

    /**
     * The name of the Administrator role, as specified in web.xml
     */
    public static final String ADMIN_ROLE = "admin";

    /**
     * The name of the User role, as specified in web.xml
     */
    public static final String USER_ROLE = "user";

    /**
     * The name of the user's role list, a request-scoped attribute
     * when adding/editing a user.
     */
    public static final String USER_ROLES = "userRoles";

    /**
     * The name of the available roles list, a request-scoped attribute
     * when adding/editing a user.
     */
    public static final String AVAILABLE_ROLES = "availableRoles";

    /**
     * The name of the CSS Theme setting.
     */
    public static final String CSS_THEME = "csstheme";






//TMRole-START
    /**
     * The request scope attribute that holds the tMRole form.
     */
    public static final String TMROLE_KEY = "tMRoleForm";

    /**
     * The request scope attribute that holds the tMRole list
     */
    public static final String TMROLE_LIST = "tMRoleList";
//TMRole-END

//TMProject-START
    /**
     * The request scope attribute that holds the tMProject form.
     */
    public static final String TMPROJECT_KEY = "tMProjectForm";

    /**
     * The request scope attribute that holds the tMProject list
     */
    public static final String TMPROJECT_LIST = "tMProjectList";
//TMProject-END

//Speech-START
    /**
     * The request scope attribute that holds the speech form.
     */
    public static final String SPEECH_KEY = "speechForm";

    /**
     * The request scope attribute that holds the speech list
     */
    public static final String SPEECH_LIST = "speechList";
//Speech-END
    
    
//Agenda-START
    /**
     * The request scope attribute that holds the agenda form.
     */
    public static final String AGENDA_KEY = "agendaForm";

    /**
     * The request scope attribute that holds the agenda list
     */
    public static final String AGENDA_LIST = "agendaList";
//Agenda-END
    
//Actor-START
    /**
     * The request scope attribute that holds the actor form.
     */
    public static final String ACTOR_KEY = "actorForm";

    /**
     * The request scope attribute that holds the actor list
     */
    public static final String ACTOR_LIST = "actorList";
//Actor-END
    
    public static final String ROLENAME_TOASTERMASTER="role_toastmaster";
    public static final String ROLENAME_PREZIDENT="role_president";
    public static final String ROLENAME_TIMER="role_timer";
    public static final String ROLENAME_AH_COUNTER="role_ah_counter";
    public static final String ROLENAME_VOTE_COUNTER="role_vote_counter";
    public static final String ROLENAME_VIDEO_OPERATOR="role_video_operator";
    public static final String ROLENAME_GRAMMARIAN="role_grammarian";
    public static final String ROLENAME_SECRETARY="role_secretary";
    public static final String ROLENAME_SPEAKER1="role_speaker1";
    public static final String ROLENAME_SPEAKER2="role_speaker2";
    public static final String ROLENAME_SPEAKER3="role_speaker3";
    public static final String ROLENAME_SPEAKER="role_speaker";
    public static final String ROLENAME_TABLE_TOPIC_MASTER="role_table_topic_master";
    public static final String ROLENAME_GENERAL_EVALUATOR="role_general_evaluator";
    public static final String ROLENAME_EVALUATOR1="role_evaluator1";
    public static final String ROLENAME_EVALUATOR2="role_evaluator2";
    public static final String ROLENAME_EVALUATOR3="role_evaluator3";
    public static final String ROLENAME_EVALUATOR="role_evaluator";
    
    public static final String[] ROLENAMES = {
        ROLENAME_TOASTERMASTER,
//        ROLENAME_PREZIDENT,
        ROLENAME_TIMER,
        ROLENAME_AH_COUNTER,
        ROLENAME_VOTE_COUNTER,
//        ROLENAME_VIDEO_OPERATOR,
        ROLENAME_GRAMMARIAN,
        ROLENAME_SECRETARY,
        ROLENAME_SPEAKER,
        ROLENAME_TABLE_TOPIC_MASTER,
        ROLENAME_GENERAL_EVALUATOR,
        ROLENAME_EVALUATOR
    };
    
    public static final String[] PROJECTNAMES = {
        "The Ice Breaker",
        "Organize Your Speech",
        "Get to the Point",
        "How to Say It",
        "Your Body Speaks",
        "Vocal Variety",
        "Research Your Topic",
        "Get Comfortable with Visual Aids",
        "Persuade with Power",
        "Inspire Your Audience"
    };
    
    
    // for pdf generation
    public static final String PDF_DATE="date";
    public static final String PDF_THEME="theme";
    public static final String PDF_PHRASE_TITLE="phrase_title";
    public static final String PDF_PHRASE="phrase";
    public static final String PDF_PHRASE_DEFINITION="definition";
    public static final String PDF_PHRASE_EXAMPLE="example";
    public static final String PDF_SPEECH1_TITLE="speech1_title";
    public static final String PDF_SPEECH2_TITLE="speech2_title";
    public static final String PDF_SPEECH3_TITLE="speech3_title";
    public static final String PDF_SPEECH1_CATEGORY="speech1_category";
    public static final String PDF_SPEECH2_CATEGORY="speech2_category";
    public static final String PDF_SPEECH3_CATEGORY="speech3_category";
    
    public static final String PDF_THEME_HEADING="Theme - ";
    public static final String PDF_PHRASE_HEADING="Phrase - ";
    public static final String PDF_DEFINITION_HEADING="Definition: ";
    public static final String PDF_EXAMPLE_HEADING="Example: ";
    public static final String PDF_SPEECH_HEADING="Speech Title: ";
    public static final String PDF_CATEGORY_HEADING="Category: CC Speech #";
    public static final String PDF_FIELD_HEADING="topmostSubform[0].Page1[0].";
    
    public static final String PDF_TEMPLETE2 = "templete_form2.pdf";
    public static final String PDF_TEMPLETE3 = "templete_form3.pdf";
}






